package com.wxx.design.dependenceinversion;

/**
 * @author: Jetwang
 * @date: 2022/4/7 19:47
 * @description: Test
 * @version: 1.0
 */
public class Test {
    public static void main(String[] args) {
        Jetwang jetwang = new Jetwang();
        // jetwang.studyJavaCourse();
        // jetwang.studyVueCourse();
        /*
        现在需要学习python课程,只需要增加studyPythonCourse()即可
        导致每次都需要更改Jetwang类,违背了高层次模块不应该依赖于低层次模块
        引入抽象
         */
        // jetwang.studyPythonCourse();

        // ICourse course = new VueCourse();
        // jetwang.studyCourse(course);
        //
        // ICourse course01 = new JavaCourse();
        // jetwang.studyCourse(course01);

        jetwang.setCourse(new JavaCourse());
        jetwang.studyCourse();
        jetwang.setCourse(new VueCourse());
        jetwang.studyCourse();


    }
}
